package com.yy.QSManage.service;

import cn.hutool.json.JSONObject;
import com.yy.QSManage.model.dto.FieldDto;
import com.yy.QSManage.model.entity.FaSysGrid;
import com.yy.QSManage.service.base.BaseService;

import java.util.HashMap;
import java.util.List;

public interface FaSysGridService extends BaseService<FaSysGrid> {

    /**
     * 获取所有表
     * @return
     */
    List<String> tables();

    /**
     * 初始化网格配置
     * @param faSysGrid
     */
    FaSysGrid initialize(FaSysGrid faSysGrid);

    /**
     * 获取导入Excel别名map和字段配置list
     * @param id 网格id
     * @param aliasMap 别名map
     * @param fieldList 字段配置list
     */
    void getImportField(String id, HashMap<String, String> aliasMap, List<JSONObject> fieldList);

    /**
     * 获取导出Excel别名map
     * @param id
     * @param aliasMap
     */
    void getExportField(String id, HashMap<String, String> aliasMap);

    /**
     * 获取网格数据源字段信息
     * @param id
     * @return
     */
    List<FieldDto> fields(String id);
}
